import Vue from 'vue'
import Vuex from 'vuex'
import {DBUser} from '../db.js'
 
Vue.use(Vuex)
// 导入createStore构造函数
// import {createStore} from 'vuex'

export default new Vuex.Store({
// 通过构造函数实例化对象
// const user=({
	namespaced:true,
	//状态
	state: {      
		user:DBUser.getCurrUser()
	},   
	//vuex中的数据不能直接修改，只能通过mutations方法进行提交修改 
	mutations: {
		SET_USER(state,user){
			state.user = user
			DBUser.login(user)
			// console.log(state)
		},
		DEL_USER:state => {
			state.user = {};
			DBUser.loginOut();
		}
	}, 
	//书写函数，可被调用、提交数据
	actions: {
		Login({commit},user){
			commit('SET_USER',user);
		},
		LogOut({commit}){
			commit('DEL_USER');
		},
	},   
	//可以用来vuex嵌套 集成多个状态树
	modules: {},  
	//书写函数，获取state的数据
	getters: {    
		doneTodos(state) {
			// filter() 方法创建一个新的数组，新数组中的元素是通过检查指定数组中符合条件的所有元素
			return state.todos.filter(todo => todo.done)
		}
	}    
})

// export default user